package com.power.project.service;

import org.springframework.data.domain.Page;
import com.power.project.model.P_projectuser;
import com.power.project.model.pageInfo.P_projectuserPageInfo;

import java.io.Serializable;
import java.util.List;

/**
 *  参与项目人员业务层
 */
public interface P_projectuserService {

    /**
     *  根据id获取参与项目人员对象
     */
    P_projectuser getById(Serializable id);

    /**
     *  根据传入参与项目人员对象进行新增或更新操作
     */
    void saveOrUpdate(P_projectuser p_projectuser);

    /**
     *  根据id删除参与项目人员
     */
    void removeById(Serializable id);

    /**
     *  根据传入条件查询参与项目人员分页结果
     */
    Page<P_projectuser> findAll(P_projectuserPageInfo pageInfo);
    
    /**
     * 查询全部参与项目人员
     */
    List<P_projectuser> findAll();
    
     /**
     *  根据id批量删除参与项目人员
     */
    void removeByIds(List<Integer> list);
    
     /**
     *  批量保存参与项目人员
     */
    void saveAll(List<P_projectuser> list);

    /**
     * 条件查询项目和用户关联关系
     */
    List<P_projectuser> findByProjectidAndWwuseridIn(Integer projectid, List<String> wwuserid);

    void deleteByProjectIdAndWwuserids(Integer projectId, List<String> userIds);

    List<P_projectuser> findByProjectidIn(List<Integer> pIdList);


    List<Integer> getProjectIdsByUserIds(List<String> wwuserids);

    List<String> getUseridsByProjectId(Integer projectId);
}
